#include "plato.h"

Plato::Plato() : PiezaInstrumento()
{
    //if (textura.estaVacia()) {
    //    textura.cargar(":/entrenador/Resources/plato.png");
    //    textura.setRepetirHorizontalmente(false);
    //    textura.setRepetirVerticalmente(false);
    //}

    //cuadrilatero.setTextura(&textura);
}

Plato::~Plato()
{

}

void Plato::setEncuadre(const QRectF& encuadreReal)
{
    PiezaInstrumento::setEncuadre(encuadreReal);

    cuadrilatero.setRectanguloXY(encuadreReal.x() / 100, encuadreReal.y() / 100,
        encuadreReal.width() / 100, encuadreReal.height() / 100);
}

void Plato::dibujarEsquema(QPainter* painter, ConversorUnidades* conversor)
{
    QRectF encuadrePixeles = conversor->rectanguloRealAPixeles(encuadreReal);

	//painter->setBrush(QColor(0xe0, 0xc9, 0x00));

    painter->setBrush(Qt::white);
    painter->setPen(Qt::black);
    painter->drawEllipse(encuadrePixeles);

    double radio = encuadrePixeles.width() / 2;
    double ajusteCorona = radio / 1.5;
    QRectF encuadreCorona = encuadrePixeles.adjusted(ajusteCorona, ajusteCorona, -ajusteCorona, -ajusteCorona);

    painter->setBrush(Qt::NoBrush);
    painter->drawEllipse(encuadreCorona);
    double ajusteHueco = radio - 2;
    QRectF encuadreHueco = encuadrePixeles.adjusted(ajusteHueco, ajusteHueco, -ajusteHueco, -ajusteHueco);

    painter->setBrush(Qt::black);
    painter->drawEllipse(encuadreHueco);
}

void Plato::dibujarNotas(QPainter* painter, ConversorUnidades* conversor)
{
    QRectF encuadrePixeles = conversor->rectanguloRealAPixeles(encuadreReal);

    painter->setPen(Qt::NoPen);  
	painter->setBrush(getColor());
    painter->drawEllipse(encuadrePixeles);
}

void Plato::actualizar()
{
    int brillo = getIntensidad() / 2 + 127;
    
    cuadrilatero.setColor(QColor(brillo, brillo, brillo));
}